package routes

import (
	controller "doctor_api_backend/controller"

	"github.com/gin-gonic/gin"
)

// SetupPatientRoutes 设置患者相关的路由
// 功能：
// 1. 创建患者相关的路由组
// 2. 配置患者相关的API端点
// 3. 设置路由处理函数
// 参数：
//   - r: Gin路由组实例
func SetupPatientRoutes(r *gin.RouterGroup) {
	// 使用配置文件中的API版本
	patientGroup := r.Group("/patients")
	{
		// 患者管理
		patientGroup.GET("", controller.GetAllPatients)
		// 通过id获取患者
		patientGroup.GET(":id", controller.GetPatient)
		// 创建患者
		patientGroup.POST("", controller.CreatePatient)
		// 通过id更新患者
		patientGroup.PUT(":id", controller.UpdatePatient)
		// 通过id删除患者
		patientGroup.DELETE(":id", controller.DeletePatient)
	}
}

// 调试指南：
// 1. 路由测试：
//    - 获取患者列表：
//      curl -X GET http://localhost:8080/api/v1/patients \
//           -H "Authorization: Bearer your-token-here"
//    - 获取单个患者：
//      curl -X GET http://localhost:8080/api/v1/patients/1 \
//           -H "Authorization: Bearer your-token-here"
//    - 创建患者：
//      curl -X POST http://localhost:8080/api/v1/patients \
//           -H "Content-Type: application/json" \
//           -H "Authorization: Bearer your-token-here" \
//           -d '{"name":"张三","age":30,"gender":"男"}'
//    - 更新患者：
//      curl -X PUT http://localhost:8080/api/v1/patients/1 \
//           -H "Content-Type: application/json" \
//           -H "Authorization: Bearer your-token-here" \
//           -d '{"name":"张三","age":31,"gender":"男"}'
//    - 删除患者：
//      curl -X DELETE http://localhost:8080/api/v1/patients/1 \
//           -H "Authorization: Bearer your-token-here"
//
// 2. 常见问题排查：
//    - 路由未注册：检查路由设置函数是否被调用
//    - 版本不匹配：检查API版本配置是否正确
//    - 权限问题：检查token是否有效
//    - 参数错误：检查请求参数格式是否正确
//
// 3. 开发建议：
//    - 使用Postman等工具测试API
//    - 添加请求参数验证
//    - 实现错误处理中间件
//    - 添加API文档注释
